import moment from "moment";
//倒计时
export const limitTimeFilter = (diffTime, showSecond = false) => {
  var time = "";
  if (diffTime > 0) {
    //判断剩余倒计时时间如果大于0就执行倒计时否则就结束
    var dd = Math.floor(diffTime / 60 / 60 / 24) < 10 ? "0" + Math.floor(diffTime / 60 / 60 / 24) : Math.floor(diffTime / 60 / 60 / 24);
    var hh = Math.floor((diffTime / 60 / 60) % 24) < 10 ? "0" + Math.floor((diffTime / 60 / 60) % 24) : Math.floor((diffTime / 60 / 60) % 24);
    var mm = Math.floor((diffTime / 60) % 60) < 10 ? "0" + Math.floor((diffTime / 60) % 60) : Math.floor((diffTime / 60) % 60);
    var ss = Math.floor(diffTime % 60) < 10 ? "0" + Math.floor(diffTime % 60) : Math.floor(diffTime % 60);
    if (dd > 0) {
      time = `${dd}天${hh}时${mm}分`;
    } else {
      if (hh > 0) {
        time = `${hh}时${mm}分`;

      } else {
        if (mm > 0) {
          time = `${mm}分`;
        }
      }
    }
  }
  if (ss > 0 && showSecond) {
    time = `${time}${ss}秒`
  }
  return time;
};

/**
 * 计算时间多久多久之前, 按毫秒计算
 * @param {目标时间} time 
 * @param {目标多少(默认30分钟)之前算刚刚} minutes 
 */
export const calcTimeAgo = (time, minutes) => {
  // 当前时间戳
  const dateTime = new Date().getTime();
  // 如果当前时间减去目标时间
  const diffTime = Math.abs(dateTime - time);
  if (!minutes) {
    minutes = 30 * 1000;
  }
  //  小于目标分钟(默认30分钟)算刚刚
  if (diffTime < minutes) {
    return '刚刚';
  }else if (diffTime < 24 * 60 * 1000) {
    // 差异时间小于24小时(1天)显示多少小时前
  }
}

/**
 * 多少天后的日期
 */
export const aftterDaysDate = (statrDate, days) => {
  if (!statrDate || !days)
    return '';
  //天数 转换成毫秒 减1秒，凌晨00.00.00 替换成 前一天的23.59.59
  const daysTimpStamp = days * 24 * 60 * 60 * 1000 - 1000;
  return moment(statrDate + daysTimpStamp).format('YYYY.MM.DD')
}
